package com.oly.cms.general.service.search;

import java.util.List;

import com.oly.cms.general.mapper.WebSearchMapper;
import com.oly.cms.general.model.po.WebMenu;
import com.oly.cms.general.service.IWebSearchService;
import com.oly.cms.general.utils.tree.MenuTreeUtils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class WebMenuServiceImpl implements IWebSearchService {
    @Autowired
    private WebSearchMapper webSearchMapper;

    public WebMenu getWebMenuByMenuId(long columnId) {

        return webSearchMapper.getWebMenuByMenuId(columnId);
    }

    public List<WebMenu> listWebMenus(WebMenu webMenu) {

        return webSearchMapper.listWebMenus(webMenu);
    }

    /**
     * 获取节点及所有子节点
     * 
     * @param menuId
     * @return
     */
    public List<WebMenu> listWebMenusById(long menuId) {
        WebMenu webMenu = new WebMenu();
        webMenu.setColumnId(menuId);
        return this.listWebMenus(webMenu);
    }

    /**
     * 转化为树
     * 
     * @param menuId
     * @return
     */
    public WebMenu listWebMenusTreeById(long menuId) {
        return MenuTreeUtils.getColumnTree(this.listWebMenusById(menuId), menuId);
    }

    public WebMenu listWebMenusTree(WebMenu webMenu) {

        if (webMenu != null && webMenu.getColumnId() != null) {
            webMenu.setColumnId(0L);
        }
        return MenuTreeUtils.getColumnTree(this.listWebMenus(webMenu), webMenu.getColumnId());
    }

}
